home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 January: Mac OS SDK / Dev.CD Jan 96 SDK / Dev.CD Jan 96 SDK1.toast / Development Kits (Disc 1) / AOCE / Development Tools / Sample Code / SampleTemplate / Sample Template / Source / Track.r < prev    next >
Encoding:
Text File  |  1993-09-07  |  6.4 KB  |  182 lines  |  [TEXT/MPS ]

  1. #include "Types.r"
  2. #include "OCETemplates.h"
  3. #include "OCE.r"
  4. #include "Track.h"
  5.  
  6. #define kTrackAspect            (kDETFifthID + kDETIDSep)
  7. #define kTrackInfoPage            (kDETFifthID + (2 * kDETIDSep))
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14. // The aspect
  15.  
  16. resource 'deta' (kTrackAspect, purgeable) {
  17.     0,                    // Drop priority
  18.     dropCheckAlways,    // Drop check flag
  19.     isMainAspect        // Is the main aspect
  20. };
  21.  
  22. resource 'rstr' (kTrackAspect+kDETTemplateName, purgeable) {
  23.     "Track Aspect"
  24. };
  25.  
  26. resource 'rstr' (kTrackAspect+kDETAttributeType, purgeable) {
  27.     "Track"
  28. };
  29.  
  30. resource 'rstr' (kTrackAspect+kDETAspectKind, purgeable) {
  31.     "Track"
  32. };
  33.  
  34. resource 'rstr' (kTrackAspect+kDETAspectWhatIs, purgeable) {
  35.     "Track\n\nA track on an album."
  36. };
  37.  
  38. resource 'rst#' (kTrackAspect+kDETAspectCategory, purgeable)
  39.     {{
  40.     "Recordings"
  41.     }};
  42.  
  43. resource 'rstr' (kTrackAspect+kDETAspectNewMenuName, purgeable) {
  44.     "New Track"
  45. };
  46.  
  47. data 'detb' (kTrackAspect+kDETAspectNewValue, purgeable) {
  48.     $"626E 7279"                            // Tag (bnry)
  49.     $"0000 0001"                            // prTrackNumber (1)
  50.     $"0000 0000"                            // prTrackMinutes (1)
  51.     $"0000 0000"                            // prTrackSeconds (1)
  52.     $"0000 0007 3C74 6974 6C65 3E"            // kDETAspectName (<title>)
  53.     $"0000 000A 3C63 6F6D 706F 7365 723E"    // Composer (<composer>)
  54.     $"0000 000A 3C63 6F6D 6D65 6E74 733E"    // Comments (<comments>)
  55. };
  56.  
  57. resource 'dett' (kTrackAspect+kDETAspectLookup, purgeable) {
  58.     {
  59.     {"Track"}, typeBinary,
  60.         useForInput, useForOutput, notInSublist, isNotAlias, isNotRecordRef,
  61.         {    
  62.         'long', prTrackNumber, 0;
  63.         'long', prTrackMinutes, 0;
  64.         'long', prTrackSeconds, 0;
  65.         'rstr', kDETAspectName, 0;
  66.         'rstr', prTrackComposer, 0;
  67.         'rstr', prTrackComments, 0
  68.         };
  69.     }
  70. };
  71.  
  72. include "TrackIcons" 'ICN#'(0) as 'ICN#'(kTrackAspect+kDETAspectMainBitmap, purgeable);
  73. include "TrackIcons" 'icl4'(0) as 'icl4'(kTrackAspect+kDETAspectMainBitmap, purgeable);
  74. include "TrackIcons" 'icl8'(0) as 'icl8'(kTrackAspect+kDETAspectMainBitmap, purgeable);
  75. include "TrackIcons" 'ics#'(0) as 'ics#'(kTrackAspect+kDETAspectMainBitmap, purgeable);
  76. include "TrackIcons" 'ics4'(0) as 'ics4'(kTrackAspect+kDETAspectMainBitmap, purgeable);
  77. include "TrackIcons" 'ics8'(0) as 'ics8'(kTrackAspect+kDETAspectMainBitmap, purgeable);
  78. include "TrackIcons" 'SICN'(0) as 'SICN'(kTrackAspect+kDETAspectMainBitmap, purgeable);
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87. // The info page
  88.  
  89. #define kTrackNumberTop                (50)
  90. #define kTrackNumberBottom            (kTrackNumberTop + kDETAppFontLineHeight + 4)
  91. #define kTrackPlayingTimeTop        (kTrackNumberBottom + 4)
  92. #define kTrackPlayingTimeBottom        (kTrackPlayingTimeTop + kDETAppFontLineHeight + 4)
  93. #define kTrackComposerTop            (kTrackPlayingTimeBottom+4)
  94. #define kTrackComposerBottom        (kTrackComposerTop + kDETAppFontLineHeight+4 + kDETAppFontLineHeight+4 + kDETAppFontLineHeight+4)
  95. #define kTrackCommentsTop            (kTrackComposerBottom + 4)
  96. #define kTrackCommentsBottom        (kTrackCommentsTop + kDETAppFontLineHeight+4 + kDETAppFontLineHeight+4 + kDETAppFontLineHeight+4 + kDETAppFontLineHeight+4 + kDETAppFontLineHeight+4)
  97.  
  98. #define kTrackEditTextWidth            (23)
  99. #define kTrackSpaceBeforeEditDesc    (25)
  100. #define kTrack1stColumnLeft         (4)
  101. #define kTrack1stColumnRight         (kDETAttributeInfoWindWidth/2 - 20)
  102. #define kTrack2ndColumnLeft         (kTrack1stColumnRight+4)
  103. #define kTrack2ndColumnRight         (kDETAttributeInfoWindWidth - 8)
  104. #define kTrackSecondsColumnLeft        (kTrack2ndColumnLeft + kTrackSpaceBeforeEditDesc + 40)
  105.  
  106. resource 'deti' (kTrackInfoPage, purgeable) {
  107.     1000,
  108.     {0, 0, 0, 0},
  109.     selectFirstText, 
  110.     {
  111.     kDETNoProperty, kDETNoProperty, kTrackInfoPage;
  112.     },
  113.     {
  114.     }
  115. };
  116.  
  117. resource 'rstr' (kTrackInfoPage+kDETTemplateName, purgeable) {
  118.     "Track Info Page"
  119. };
  120.  
  121. resource 'rstr' (kTrackInfoPage+kDETAttributeType, purgeable) {
  122.     "Track"
  123. };
  124.  
  125. resource 'rstr' (kTrackInfoPage+kDETInfoPageName, purgeable) {
  126.     "Track Info"
  127. };
  128.  
  129. resource 'rstr' (kTrackInfoPage+kDETInfoPageMainViewAspect, purgeable) {
  130.     "Track Aspect"
  131. };
  132.  
  133. // subPage view
  134.  
  135. resource 'detv' (kTrackInfoPage, purgeable) {
  136.     {
  137.     kDETSubpageIconRect, kDETNoFlags, kDETAspectMainBitmap,
  138.     Bitmap { kDETLargeIcon };
  139.  
  140.     {kTrackNumberTop, kTrack1stColumnLeft, kTrackNumberBottom, kTrack1stColumnRight}, kDETNoFlags, kDETNoProperty,
  141.     StaticTextFromView { kDETApplicationFont, kDETApplicationFontSize, kDETRight, kDETBold,
  142.         "Track Number:" };
  143.  
  144.     {kTrackNumberTop-2, kTrack2ndColumnLeft, kTrackNumberBottom-2, kTrack2ndColumnLeft + kTrackEditTextWidth}, kDETEnabled + kDETNumericOnly, prTrackNumber,
  145.     EditText { kDETApplicationFont, kDETApplicationFontSize, kDETLeft, kDETNormal };
  146.  
  147.     {kTrackPlayingTimeTop, kTrack1stColumnLeft, kTrackPlayingTimeBottom, kTrack1stColumnRight}, kDETNoFlags, kDETNoProperty,
  148.     StaticTextFromView { kDETApplicationFont, kDETApplicationFontSize, kDETRight, kDETBold,
  149.         "Playing Time:" };
  150.  
  151.     {kTrackPlayingTimeTop-2, kTrack2ndColumnLeft, kTrackPlayingTimeBottom-2, kTrack2ndColumnLeft + kTrackEditTextWidth}, kDETEnabled + kDETNumericOnly, prTrackMinutes,
  152.     EditText { kDETApplicationFont, kDETApplicationFontSize, kDETLeft, kDETNormal };
  153.  
  154.     {kTrackPlayingTimeTop, kTrack2ndColumnLeft + kTrackSpaceBeforeEditDesc, kTrackPlayingTimeBottom, kTrackSecondsColumnLeft}, kDETNoFlags, kDETNoProperty,
  155.     StaticTextFromView { kDETApplicationFont, kDETApplicationFontSize, kDETLeft, kDETNormal,
  156.         "Mins" };
  157.  
  158.     {kTrackPlayingTimeTop-2, kTrackSecondsColumnLeft, kTrackPlayingTimeBottom-2, kTrackSecondsColumnLeft + kTrackEditTextWidth}, kDETEnabled + kDETNumericOnly, prTrackSeconds,
  159.     EditText { kDETApplicationFont, kDETApplicationFontSize, kDETLeft, kDETNormal };
  160.  
  161.     {kTrackPlayingTimeTop, kTrackSecondsColumnLeft + kTrackSpaceBeforeEditDesc, kTrackPlayingTimeBottom, kTrack2ndColumnRight}, kDETNoFlags, kDETNoProperty,
  162.     StaticTextFromView { kDETApplicationFont, kDETApplicationFontSize, kDETLeft, kDETNormal,
  163.         "Secs" };
  164.  
  165.     {kTrackComposerTop, kTrack1stColumnLeft, kTrackComposerBottom, kTrack1stColumnRight}, kDETNoFlags, kDETNoProperty,
  166.     StaticTextFromView { kDETApplicationFont, kDETApplicationFontSize, kDETRight, kDETBold,
  167.         "Composer:" };
  168.  
  169.     {kTrackComposerTop-2, kTrack2ndColumnLeft, kTrackComposerBottom-2, kTrack2ndColumnRight}, kDETEnabled + kDETMultiLine, prTrackComposer,
  170.     EditText { kDETApplicationFont, kDETApplicationFontSize, kDETLeft, kDETNormal };
  171.  
  172.     {kTrackCommentsTop, kTrack1stColumnLeft, kTrackCommentsBottom, kTrack1stColumnRight}, kDETNoFlags, kDETNoProperty,
  173.     StaticTextFromView { kDETApplicationFont, kDETApplicationFontSize, kDETRight, kDETBold,
  174.         "Comments:" };
  175.  
  176.     {kTrackCommentsTop-2, kTrack2ndColumnLeft, kTrackCommentsBottom-2, kTrack2ndColumnRight}, kDETEnabled + kDETMultiLine, prTrackComments,
  177.     EditText { kDETApplicationFont, kDETApplicationFontSize, kDETLeft, kDETNormal };
  178.     }
  179. };
  180.  
  181.  
  182.